package cn.oms.esb.provider;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/** 基于SSM的门诊管理系统 曾晨AllenChen版权所有@1.0.0 **/

// 用于让nacos发现 将服务注册到nacos注册中心
@EnableDiscoveryClient
// 开启Swagger2
@EnableSwagger2
//@MapperScan("cn.oms.email.service.mapper")
@SpringBootApplication(scanBasePackages = "cn.oms",exclude = DataSourceAutoConfiguration.class)
public class OmsEsbProviderApplication {

    public static void main(String[] args) {
        SpringApplication.run(OmsEsbProviderApplication.class, args);
    }

    // @Bean表示将下面方法的返回值保存到Spring容器中
    @Bean
    // 保存到Spring容器的对象支持负载均衡的Ribbon调用
    @LoadBalanced
    // 这个方法的返回值是实现Ribbon调用的对象,使用它来发起跨服务器的调用请求
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

}
